<html>
<head><meta charset="utf-8"><title>leak check, regionck · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html">leak check, regionck</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="185499406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185499406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185499406">(Jan 13 2020 at 14:49)</a>:</h4>
<p>So <span class="user-mention" data-user-id="116118">@Matthew Jasper</span> I've rebased the leak check PR. I think it's kind of a crucial PR to land for a bunch of other changes, but I'm debating what needs to be done in the PR.</p>
<p>I'd also (relatedly?) like to discuss the removal of regionck.</p>



<a name="185503858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185503858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185503858">(Jan 13 2020 at 15:33)</a>:</h4>
<p>Two thoughts in this regard:</p>
<ul>
<li>I feel like there should be <em>some</em> sort of write-up of the regionck model that we want to have</li>
<li>Should we do a warning period?</li>
</ul>
<p>It occurred to me that we might be able to do a warning period, but I'm not sure just how hard it would be.</p>



<a name="185503912"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185503912" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185503912">(Jan 13 2020 at 15:33)</a>:</h4>
<p><span class="user-mention" data-user-id="219747">@Simon Sapin</span> I have a question for you =) I believe servo is still relying on some kind of hack around <code>fn(): PartialEq</code>?</p>



<a name="185504184"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185504184" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185504184">(Jan 13 2020 at 15:36)</a>:</h4>
<p>Or some such trait?</p>



<a name="185520927"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185520927" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185520927">(Jan 13 2020 at 18:26)</a>:</h4>
<p>I agree that we should have a write up of where we are going with regionck/lexical_region_resolve.</p>



<a name="185521334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185521334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185521334">(Jan 13 2020 at 18:30)</a>:</h4>
<p>I think that we probably need a warning. Maybe if it's really only servo...</p>



<a name="185521597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185521597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185521597">(Jan 13 2020 at 18:33)</a>:</h4>
<blockquote>
<p>I agree that we should have a write up of where we are going with regionck/lexical_region_resolve.</p>
</blockquote>
<p>It seems like we need both a plan from a technical perspective but I would also like to have a write-up of how region handling is expected to work from a more "language" perspective; kind of like what we were discussing earlier, where I was proposing that chalk could (in theory) fully handle higher-ranked obligations. </p>
<p>I guess that in the meantime the existing PR is kind of a "maximally conservative" plan, in that it is putting all the logic into the region solver.</p>



<a name="185521647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185521647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185521647">(Jan 13 2020 at 18:33)</a>:</h4>
<blockquote>
<p>I think that we probably need a warning. Maybe if it's really only servo...</p>
</blockquote>
<p>Yeah so i'm pondering how to implement that. One thing we could do is to keep the leak-check. We can use it to have coherence test things both ways.</p>



<a name="185521796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185521796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185521796">(Jan 13 2020 at 18:35)</a>:</h4>
<p>But it seems like if we're going to have a warning period</p>



<a name="185521818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185521818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185521818">(Jan 13 2020 at 18:35)</a>:</h4>
<p>We probably need to use leak-check in most of the code</p>



<a name="185521858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185521858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185521858">(Jan 13 2020 at 18:35)</a>:</h4>
<p>Until we turn it off everywhere</p>



<a name="185521900"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185521900" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185521900">(Jan 13 2020 at 18:35)</a>:</h4>
<p>That's not that bad in that it would give us time to fixup NLL region check too</p>



<a name="185546232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185546232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185546232">(Jan 13 2020 at 22:44)</a>:</h4>
<p>How do you want to work on the plan? Should we schedule a time to talk about this? Do you want to write up some more thoughts on this first?</p>



<a name="185634731"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185634731" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185634731">(Jan 14 2020 at 20:06)</a>:</h4>
<p>Hey <span class="user-mention" data-user-id="116118">@Matthew Jasper</span> so I have a little time (30min) now.. I think otherwise the best thing for scheduling a time to chat would be to schedule a time on Friday</p>



<a name="185634749"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185634749" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185634749">(Jan 14 2020 at 20:06)</a>:</h4>
<p>er, actually, I would probably talk tomorrow</p>



<a name="185634760"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185634760" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185634760">(Jan 14 2020 at 20:06)</a>:</h4>
<p>starting at 14:30 UTC-04:00 (Boston time)</p>



<a name="185634800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185634800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185634800">(Jan 14 2020 at 20:07)</a>:</h4>
<p>I'm available now</p>



<a name="185635490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185635490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185635490">(Jan 14 2020 at 20:15)</a>:</h4>
<p>Tomorrow it is then.</p>



<a name="185641227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185641227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185641227">(Jan 14 2020 at 21:17)</a>:</h4>
<p>Hey, sorry, got pulled off again :P</p>



<a name="185641242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185641242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185641242">(Jan 14 2020 at 21:17)</a>:</h4>
<p>Let me try to leave a few notes</p>



<a name="185641306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185641306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185641306">(Jan 14 2020 at 21:17)</a>:</h4>
<p>First off, I think adding a leak-check warning period seems doable, as I noted, I guess I would have some sort of "flag" to skip leak-check that...can be set on the infcx? and cleared?</p>



<a name="185641404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185641404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185641404">(Jan 14 2020 at 21:18)</a>:</h4>
<p>But in terms of moving away from regionck, the first thing is probably to enumerate all the places that lexical regionck is used, as they are going to have move towards the "NLL checker" (or whatever replaces it)</p>



<a name="185641429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185641429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185641429">(Jan 14 2020 at 21:18)</a>:</h4>
<p>Although I suppose that we could conceivably <em>keep</em> the lexical checker around and just not use it from type-check?</p>



<a name="185993528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185993528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185993528">(Jan 18 2020 at 12:30)</a>:</h4>
<p>So <span class="user-mention" data-user-id="116118">@Matthew Jasper</span> I'm working on the "leak check removal warning" PR</p>



<a name="185993540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185993540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185993540">(Jan 18 2020 at 12:31)</a>:</h4>
<p>ok</p>



<a name="185993674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185993674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185993674">(Jan 18 2020 at 12:35)</a>:</h4>
<p>feeling sad about it. I want to remove it entirely :P</p>



<a name="185993676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/leak%20check%2C%20regionck/near/185993676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/leak.20check.2C.20regionck.html#185993676">(Jan 18 2020 at 12:35)</a>:</h4>
<p>but I think a short warning period is right</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>